﻿/*************************************************************************************
 * 文 件 名:   Test_UseSimpleTask
 * 
 * 描    述:   简单版任务系统的使用Demo脚本
 * 
 * 版    本：  V1.1
 * 创 建 者：  京产肠饭
 * 创建时间：  2021/10/31
 * 链   接：  https://gitee.com/JingChanChangFan/hk_-unity-tools
*************************************************************************************/

using UnityEngine;
using QFramework;
using System.Collections.Generic;
using HKTools;

public class Test_UseSimpleTask : MonoBehaviour, IController
{
    public IArchitecture GetArchitecture()
    {
        return HKSimpleTask_Architecture.Interface;
    }

    void Start()
    {
        List<HK_TaskItem> taskList = new List<HK_TaskItem>();

        taskList.Add(new HK_TaskItem(Task1_Action, TaskName.TQ_01_步骤01_放置干扰天线支架, "<b>步骤01：</b>XXXXXXX"));
        taskList.Add(new HK_TaskItem(Task2_Action, TaskName.TQ_01_步骤02_安装干扰天线, "<b>步骤02：</b>XXXXXXXX"));
        taskList.Add(new HK_TaskItem(Task3_Action, TaskName.TQ_01_步骤03_连接干扰天线与干扰源, "<b>步骤03：</b>XXXXXXXXXX"));

        this.GetSystem<IHK_SimpleTaskSystem>().InitTaskQueue(TaskQueueName.TQ_01, TaskStart, TaskFinish, taskList);

        this.GetSystem<IHK_SimpleTaskSystem>().StartTaskQueue(TaskQueueName.TQ_01);
    }

    void TaskStart()
    {
        Debug.Log("任务开始");
    }

    void TaskFinish()
    {
        Debug.Log("任务结束");
    }

    void Task1_Action()
    {
        Debug.Log("Task1 开始...");
    }

    void Task2_Action()
    {
        Debug.Log("Task2 开始...");
    }

    void Task3_Action()
    {
        Debug.Log("Task3 开始...");
    }

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.A))
        {
            this.GetSystem<IHK_SimpleTaskSystem>().CompleteAppointTask(TaskQueueName.TQ_01, TaskName.TQ_01_步骤01_放置干扰天线支架);
        }

        if (Input.GetKeyDown(KeyCode.S))
        {
            this.GetSystem<IHK_SimpleTaskSystem>().CompleteAppointTask(TaskQueueName.TQ_01, TaskName.TQ_01_步骤02_安装干扰天线);
        }

        if (Input.GetKeyDown(KeyCode.D))
        {
            this.GetSystem<IHK_SimpleTaskSystem>().CompleteAppointTask(TaskQueueName.TQ_01, TaskName.TQ_01_步骤03_连接干扰天线与干扰源);
        }

        if (Input.GetKeyDown(KeyCode.Space))
        {
            this.GetSystem<IHK_SimpleTaskSystem>().NextTask(TaskQueueName.TQ_01);
        }
    }
}
